package com.xbongbong.saas.domain.dao;

import com.xbongbong.saas.domain.entity.FundSetEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * 资金设置dao层接口
 * @author zcp
 * @version v1.0
 * @since v1.0
 */
@Repository
@Mapper
public interface FundSetDao {
    /**
     * 新增资金设置
     * @param entity 新增参数
     * @return 是否成功
     */
    Integer insert(FundSetEntity entity);

    /**
     * 更新资金设置
     * @param entity 新增参数
     * @return 是否成功
     */
    Integer update(FundSetEntity entity);

    /**
     * 根据map参数获取集合
     * @param param 入参
     * @return 结果集
     */
    List<FundSetEntity> findEntitys(@Param("param") Map<String, Object> param);

    /**
     * 根据map参数获取总数
     * @param param 入参
     * @return 总数
     */
    Integer getEntitysCount(@Param("param") Map<String, Object> param);

    /**
     * 获取公司某种业务的资金设置
     * @param corpid 公司id
     * @param refType 业务类型
     * @param columns 要查询的字段，如“id,model_type,manage_type”
     * @return com.xbongbong.saas.domain.entity.FundSetEntity
     * @author zcp
     * @since v1.0
     * @version v1.0
     */
    FundSetEntity getByRefType(@Param("corpid") String corpid, @Param("refType") Integer refType, @Param("type") Integer type, @Param("columns") String columns);
}
